#include "bloques.h"
#include "ficheros_basico.h"
#include "directorios.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char **argv){
	
	char buffer[tam_bloq];

	unsigned int cantidad_bloques = atoi(argv[2]);
	
	if (argc != 3){
		printf("Faltan argumentos!!! El número permitido de argumentos son 3. \n");
	} else {
	
		if (cantidad_bloques <= 0){
			printf("Numeros de bloques incorrectos (menor o igual a 0)\n");
		} else {
	
			if (bmount(argv[1]) == -1){
				printf("Error al montar el sistema de ficheros.\n");
				return -1;
			}
	
			printf("El nombre del Sistema de Ficheros es: %s \n", argv[1]);
	
			memset(buffer,0,tam_bloq);
	
			//Inicializamos cada bloque del sistema de ficheros a 0
			int i;
			for (i=0;i<cantidad_bloques;i++){
				if (bwrite(i,buffer) == -1){
					printf("Error al ejecutar el bwrite.\n");
					return -1;
				}
			}

			// Inicializamos el sistema de ficheros
			initSB(cantidad_bloques);
			initMB(cantidad_bloques);
			initAI(cantidad_bloques);
	
			reservar_inodo(1);
		
			leerSB();

			if (bumount() == -1){
				printf("Error al desmontar el sistema de ficheros.\n");
				return -1;
			}
		}
	}
} 
